package com.young.shop.admin.dao;


import com.young.shop.pojo.entity.Goods;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface GoodsMapper {

	/**
	 * 通过id修改单个商品状态值
	 *
	 * @param id
	 * @param status
	 * @return
	 */
	int updateGoodsById(@Param("id") int id, @Param("status") int status, @Param("date") String date);



	/**
	 * 查询当前页的商品信息
	 *
	 * @param currentPage
	 * @param pageSize
	 * @return
	 */
	List<Goods> selectGoods(@Param("status") Integer status,
							@Param("currentPage") Integer currentPage,
							@Param("pageSize") Integer pageSize,
							@Param("type") String type);


	/**
	 * 查询各种情况总共有多少条数据
	 * @return
	 */
	Object findTotalCount(@Param("type")String type,@Param("status")Integer status);


	/**
	 * 获取在售商品数量
	 *
	 * @return
	 */
	Object selectOnSaleGoodsCount();


	/**
	 * 获取下架商品数量
	 *
	 * @return
	 */
	Object selectUnSaleGoodsCount();


	/**
	 * 新增商品
	 *
	 * @param goods 产品信息（方法调用完返回ID）
	 * @return 1 成功 其它失败
	 */
	int insertGoods(Goods goods);


	/**
	 * 根据商品 id 删除商品
	 * @param id 商品id
	 * @return 1 删除成功
	 */
	int deleteGoodsById(Integer id);


	/**
	 * 通过id查询商品
	 *
	 * @param id
	 * @return
	 */
	Goods selectGoodsById(int id);


	/**
	 * 根据 id 修改商品信息
	 * @param goods
	 * @return （ 1 成功）
	 */
	int updateGoods(Goods goods);
}
